home *** CD-ROM | disk | FTP | other *** search
- (*
- **
- ** Copyright © 1996-1999 Dipl.-Inform. Kai Hofmann. All rights reserved.
- ** Registered Amiga shared library!
- **
- ** $VER: Date.mod 33.310 (16.06.99)
- **
- ** Experimental version, please report bugs/improvements!
- *)
-
- MODULE Date;
-
-
- IMPORT
- e * := Exec;
-
-
- TYPE
- MoonPhases * = SHORTINT;
- Weekdays * = SHORTINT;
- DateTexts * = SHORTINT;
- WordClass * = SHORTINT;
- Languages * = SHORTINT;
- Countries * = SHORTINT;
- Calendars * = SHORTINT;
- ChangeDay * = SHORTINT;
- DateBasePtr * = UNTRACED POINTER TO DateBase;
- DateBase * = e.Library;
-
-
- CONST
- dateName * = "date.library";
- dateMinVersion * = 33;
- dateMinRevision * = 310;
-
- (* Types for MoonPhases *)
- NewMoon * = 0;
- FirstQuarter * = 1;
- FullMoon * = 2;
- LastQuarter * = 3;
-
- (* Types for Weekdays *)
- dayerr * = 0;
- Monday * = 1;
- Tuesday * = 2;
- Wednesday * = 3;
- Thursday * = 4;
- Friday * = 5;
- Saturday * = 6;
- Sunday * = 7;
-
- (* Types for DateTexts *)
- day * = 0;
- month * = 1;
- year * = 2;
- week * = 3;
- weekday * = 4;
- hour * = 5;
- minute * = 6;
- second * = 7;
- yesterday * = 8;
- today * = 9;
- tomorrow * = 10;
-
- (* Types for WordClass *)
- singular * = 0;
- plural * = 1;
- periodical * = 2;
-
- (* Types for Languages *)
- Locale * = 0;
- English * = 1;
- German * = 2;
- French * = 3;
- Spanish * = 4;
- Portuguese * = 5;
- Danish * = 6;
- Italian * = 7;
- Dutch * = 8;
- Norwegian * = 9;
- Swedish * = 10;
- Polish * = 11;
- Finnish * = 12;
- Hungarian * = 13;
- Greek * = 14;
- Esperanto * = 15;
- Turkish * = 16;
- Latin * = 17;
- Russian * = 18;
- Czech * = 19;
- Catalonian * = 20;
- Serbian * = 21;
- LASTLANGUAGE * = 22;
-
- (* Types for Countries *)
- unknown * = 0;
- Italia * = 1;
- Deutschland * = 2;
- Schweiz * = 3;
- Danmark * = 4;
- Nederland * = 5;
- GreatBritain * = 6;
- USA * = 7;
- Sweden * = 8;
-
- (* Types for Calendars *)
- Julian * = 0;
- Gregorian * = 1;
- Heis * = 2;
-
- (* Types for ChangeDay *)
- Normal * = 0;
- WinterToSummer * = 1;
- SummerToWinter * = 2;
-
- VAR
- base * : DateBasePtr;
-
-
- PROCEDURE TimeToJD *{base,-294}(hour{0}, min{1}, sec{2} : SHORTINT) : REAL;
- PROCEDURE JDToTime *{base,-300}(jd{0} : REAL; VAR rhour{8}, rmin{9}, rsec{10} : SHORTINT);
- PROCEDURE TimeZoneFactor *{base,-318}(degree{0} : SHORTINT) : SHORTINT;
- PROCEDURE LMT *{base,-324}(secs {0} : LONGINT; meridiandegree{1}, posdegree{2} : REAL) : LONGINT;
- PROCEDURE TimeToSec *{base,-330}(hour{0}, min{1}, sec{2} : SHORTINT) : LONGINT;
- PROCEDURE SecToTime *{base,-336}(secs{0} : LONGINT; VAR hour{8}, min{9}, sec{10} : SHORTINT);
- PROCEDURE Compare2Times *{base,-426}(hour1{0}, min1{1}, sec1{2}, hour2{3}, min2{4}, sec2{5} : SHORTINT) : SHORTINT;
- PROCEDURE ValidTime *{base,-438}(hour{0}, min{1}, sec{2} : SHORTINT) : BOOLEAN;
- PROCEDURE TimeDiff *{base,-468}(hour1{0}, min1{1}, sec1{2}, hour2{3}, min2{4}, sec2{5} : SHORTINT) : LONGINT;
- PROCEDURE DiffTime *{base,-474}(hour{0}, min{1}, sec{2} : SHORTINT; diffsecs{3} : LONGINT; VAR rhour{8}, rmin{9}, rsec{10} : SHORTINT);
- PROCEDURE FormatTime *{base,-498}(fmt{8} : POINTER TO CHAR; ChangeDay{0} : ChangeDay; ChangeHour{1} : SHORTINT; DST{2} : BOOLEAN; hour{3}, min{4}, sec{5}, zonemin{6} : SHORTINT; tstr{9} : POINTER TO CHAR);
- PROCEDURE ParseTime *{base,-504}(fmt{0}, tstr{1} : POINTER TO CHAR; ChangeDay{2} : ChangeDay; ChangeHour{3} : SHORTINT; VAR DST{4} : BOOLEAN; VAR hour{8}, min{9}, sec{10} : SHORTINT; VAR zonemin{11} : SHORTINT; pfmt{5} : POINTER TO CHAR) : SHORTINT;
- PROCEDURE TimeToNum *{base,-594}(hour{0}, min{1}, sec{2} : SHORTINT) : LONGINT;
- PROCEDURE NumToTime *{base,-600}(num{0}: LONGINT; rhour{8}, rmin{9}, rsec{10} : SHORTINT);
-
-
- PROCEDURE JulianLeapYear *{base,-30}(year{0} : LONGINT) : BOOLEAN;
- PROCEDURE GregorianLeapYear *{base,-36}(year{0} : LONGINT) : BOOLEAN;
- PROCEDURE HeisLeapYear *{base,-42}(year{0} : LONGINT) : BOOLEAN;
- PROCEDURE JulianMonthDays *{base,-48}(month{0} : SHORTINT; year{1} : LONGINT) : SHORTINT;
- PROCEDURE GregorianMonthDays *{base,-54}(month{0} : SHORTINT; year{1} : LONGINT) : SHORTINT;
- PROCEDURE HeisMonthDays *{base,-60}(month{0} : SHORTINT; year{1} : LONGINT) : SHORTINT;
- PROCEDURE JulianYearDays *{base,-66}(year{0} : LONGINT) : LONGINT;
- PROCEDURE GregorianYearDays *{base,-72}(year{0} : LONGINT) : LONGINT;
- PROCEDURE HeisYearDays *{base,-78}(year{0} : LONGINT) : LONGINT;
- PROCEDURE Compare2Dates *{base,-420}(day1{0}, month1{1} : SHORTINT; year1{2} : LONGINT; day2{3}, month2{4} : SHORTINT; year2{5} : LONGINT) : SHORTINT;
- PROCEDURE JulianDayDiff *{base,-120}(day1{0}, month1{1} : SHORTINT; year1{2} : LONGINT; day2{3}, month2{4} : SHORTINT; year2{5} : LONGINT) : LONGINT;
- PROCEDURE GregorianDayDiff *{base,-126}(day1{0}, month1{1} : SHORTINT; year1{2} : LONGINT; day2{3}, month2{4} : SHORTINT; year2{5} : LONGINT) : LONGINT;
- PROCEDURE HeisDayDiff *{base,-132}(day1{0}, month1{1} : SHORTINT; year1{2} : LONGINT; day2{3}, month2{4} : SHORTINT; year2{5} : LONGINT) : LONGINT;
- PROCEDURE JulianWeekday *{base,-138}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : Weekdays;
- PROCEDURE GregorianWeekday *{base,-144}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : Weekdays;
- PROCEDURE HeisWeekday *{base,-150}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : Weekdays;
- PROCEDURE JulianDaysBeforeWeekday *{base,-156}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; weekday{3} : Weekdays) : SHORTINT;
- PROCEDURE GregorianDaysBeforeWeekday *{base,-162}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; weekday{3} : Weekdays) : SHORTINT;
- PROCEDURE HeisDaysBeforeWeekday *{base,-168}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; weekday{3} : Weekdays) : SHORTINT;
- PROCEDURE JulianDaysAfterWeekday *{base,-174}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; weekday{3} : Weekdays) : SHORTINT;
- PROCEDURE GregorianDaysAfterWeekday *{base,-180}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; weekday{3} : Weekdays) : SHORTINT;
- PROCEDURE HeisDaysAfterWeekday *{base,-186}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; weekday{3} : Weekdays) : SHORTINT;
- PROCEDURE JulianDiffDate *{base,-192}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; days{3} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE GregorianDiffDate *{base,-198}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; days{3} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE HeisDiffDate *{base,-204}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; days{3} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE JYearToScaliger *{base,-210}(year{0} : LONGINT) : LONGINT;
- PROCEDURE GYearToScaliger *{base,-216}(year{0} : LONGINT) : LONGINT;
- PROCEDURE HYearToScaliger *{base,-222}(year{0} : LONGINT) : LONGINT;
- PROCEDURE ScaligerYearToJ *{base,-228}(syear{0} : LONGINT) : LONGINT;
- PROCEDURE ScaligerYearToG *{base,-234}(syear{0} : LONGINT) : LONGINT;
- PROCEDURE ScaligerYearToH *{base,-240}(syear{0} : LONGINT) : LONGINT;
- PROCEDURE JSYearToJD *{base,-246}(syear{0} : LONGINT) : LONGINT;
- PROCEDURE GSYearToJD *{base,-252}(syear{0} : LONGINT) : LONGINT;
- PROCEDURE HSYearToJD *{base,-258}(syear{0} : LONGINT) : LONGINT;
- PROCEDURE JDtoMJD *{base,-264}(jd{0} : LONGINT) : LONGINT;
- PROCEDURE MJDtoJD *{base,-270}(mjd{0} : LONGINT) : LONGINT;
- PROCEDURE JulianToJD *{base,-276}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : LONGINT;
- PROCEDURE GregorianToJD *{base,-282}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : LONGINT;
- PROCEDURE HeisToJD *{base,-288}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : LONGINT;
- PROCEDURE GregorianMoonAge *{base,-306}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : SHORTINT;
- PROCEDURE JulianEaster *{base,-402}(year{0} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT);
- PROCEDURE GregorianEaster *{base,-312}(year{0} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT);
- PROCEDURE HeisEaster *{base,-408}(year{0} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT);
- PROCEDURE JulianWeek *{base,-342}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : SHORTINT;
- PROCEDURE GregorianWeek *{base,-348}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : SHORTINT;
- PROCEDURE HeisWeek *{base,-354}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : SHORTINT;
- PROCEDURE WeekdayText *{base,-360}(wday{0} : Weekdays; wtext{8} : POINTER TO CHAR; lang{1} : Languages) : SHORTINT;
- PROCEDURE WeekdayShortText *{base,-272}(wday{0} : Weekdays; wtext{8} : POINTER TO CHAR; lang{1} : Languages) : SHORTINT;
- PROCEDURE MonthText *{base,-366}(month{0} : SHORTINT; mtext{8} : POINTER TO CHAR; lang{1} : Languages) : SHORTINT;
- PROCEDURE MonthShortText *{base,-378}(month{0} : SHORTINT; mtext{8} : POINTER TO CHAR; lang{1} : Languages) : SHORTINT;
- PROCEDURE DateText *{base,-432}(text{0} : DateTexts; mtext{8} : POINTER TO CHAR; lang{1} : Languages; wc{2} : WordClass);
- PROCEDURE JDToJulian *{base,-384}(jd{0} : LONGINT; VAR day{8}, month{9} : SHORTINT; VAR year{10} : LONGINT);
- PROCEDURE JDToGregorian *{base,-390}(jd{0} : LONGINT; VAR day{8}, month{9} : SHORTINT; VAR year{10} : LONGINT);
- PROCEDURE JDToHeis *{base,-396}(jd{0} : LONGINT; VAR day{8}, month{9} : SHORTINT; VAR year{10} : LONGINT);
- PROCEDURE GregorianMoonPhase *{base,-414}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; phase{3} : MoonPhases) : LONGINT;
- PROCEDURE ValidJulianDate *{base,-444}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : BOOLEAN;
- PROCEDURE ValidGregorianDate *{base,-450}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : BOOLEAN;
- PROCEDURE ValidHeisDate *{base,-456}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : BOOLEAN;
- PROCEDURE SetCountry *{base,-462}(country{0} : Countries);
- PROCEDURE SetFirstWeekday *{base,-480}(weekday{0} : Weekdays);
- PROCEDURE SupplementCentury *{base,-486}(year{0} : SHORTINT; actualyear{1} : LONGINT) : LONGINT;
- PROCEDURE JulianLastMonthDay *{base,-510}(month{0} : SHORTINT; year{1} : LONGINT) : SHORTINT;
- PROCEDURE GregorianLastMonthDay *{base,-516}(month{0} : SHORTINT; year{1} : LONGINT) : SHORTINT;
- PROCEDURE HeisLastMonthDay *{base,-522}(month{0} : SHORTINT; year{1} : LONGINT) : SHORTINT;
- PROCEDURE NextValidJulianDate *{base,-528}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE NextValidGregorianDate *{base,-534}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE NextValidHeisDate *{base,-540}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE PreviousValidJulianDate *{base,-546}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE PreviousValidGregorianDate *{base,-552}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE PreviousValidHeisDate *{base,-558}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE FormatDate *{base,-564}(fmt{8} : POINTER TO CHAR; day{0}, month{1} : SHORTINT; year{2} : LONGINT; lang{3} : Languages; tstr{9} : POINTER TO CHAR);
- PROCEDURE ParseDate *{base,-570}(fmt{0}, dstr{1} : POINTER TO CHAR; lang{2} : Languages; calendar{3} : Calendars; actualjd{4} : LONGINT; VAR day{8}, month{9} : SHORTINT; VAR year{10} : LONGINT; pfmt{11} : POINTER TO CHAR; VAR plang{5} : Languages) : SHORTINT;
- PROCEDURE JulianWWtoDM *{base,-576}(weekday{0} : Weekdays; week{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE GregorianWWtoDM *{base,-582}(weekday{0} : Weekdays; week{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE HeisWWtoDM *{base,-588}(weekday{0} : Weekdays; week{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE DateToNum *{base,-606}(day{0}, month{1} : SHORTINT; year{2} : LONGINT) : LONGINT;
- PROCEDURE NumToDate *{base,-612}(num{0} : LONGINT; VAR day{8}, month{9} : SHORTINT; VAR year{10} : LONGINT);
- PROCEDURE JulianDiffDateRange *{base,-618}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; days{3}, months{4}, years{5} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE GregorianDiffDateRange *{base,-624}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; days{3}, months{4}, years{5} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE HeisDiffDateRange *{base,-630}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; days{3}, months{4}, years{5} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT);
- PROCEDURE JulianRangeDiff *{base,-636}(day1{0}, month1{1} : SHORTINT; year1{2} : LONGINT; day2{3}, month2{4} : SHORTINT; year2{5} : LONGINT; VAR days{8}, months{9} : SHORTINT; VAR years{10} : LONGINT);
- PROCEDURE GregorianRangeDiff *{base,-642}(day1{0}, month1{1} : SHORTINT; year1{2} : LONGINT; day2{3}, month2{4} : SHORTINT; year2{5} : LONGINT; VAR days{8}, months{9} : SHORTINT; VAR years{10} : LONGINT);
- PROCEDURE HeisRangeDiff *{base,-648}(day1{0}, month1{1} : SHORTINT; year1{2} : LONGINT; day2{3}, month2{4} : SHORTINT; year2{5} : LONGINT; VAR days{8}, months{9} : SHORTINT; VAR years{10} : LONGINT);
-
- PROCEDURE LeapYear *{base,-666}(year{0} : LONGINT; calendar{1} : Calendars) : BOOLEAN;
- PROCEDURE MonthDays *{base,-672}(month{0} : SHORTINT; year{1} : LONGINT; calendar{2} : Calendars) : SHORTINT;
- PROCEDURE YearDays *{base,-684}(year{0} : LONGINT; calendar{1} : Calendars) : LONGINT;
- PROCEDURE DayDiff *{base,-690}(day1{0}, month1{1} : SHORTINT; year1{2} : LONGINT; day2{3}, month2{4} : SHORTINT; year2{5} : LONGINT; calendar{6} : Calendars) : LONGINT;
- PROCEDURE Weekday *{base,-696}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; calendar{3} : Calendars) : Weekdays;
- PROCEDURE DaysBeforeWeekday *{base,-702}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; weekday{3} : Weekdays; calendar{4} : Calendars) : SHORTINT;
- PROCEDURE DaysAfterWeekday *{base,-708}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; weekday{3} : Weekdays; calendar{4} : Calendars) : SHORTINT;
- PROCEDURE YearToScaliger *{base,-714}(year{0} : LONGINT; calendar{1} : Calendars) : LONGINT;
- PROCEDURE ScaligerYearToYear *{base,-720}(syear{0} : LONGINT; calendar{1} : Calendars) : LONGINT;
- PROCEDURE SYearToJD *{base,-726}(syear{0} : LONGINT; calendar{1} : Calendars) : LONGINT;
- PROCEDURE DateToJD *{base,-732}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; calendar{3} : Calendars) : LONGINT;
- PROCEDURE Easter *{base,-738}(year{0} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; calendar{1} : Calendars);
- PROCEDURE Week *{base,-744}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; calendar{3} : Calendars) : SHORTINT;
- PROCEDURE JDToDate *{base,-750}(jd{0} : LONGINT; VAR day{8}, month{9} : SHORTINT; VAR year{10} : LONGINT; calendar{1} : Calendars);
- PROCEDURE ValidDate *{base,-756}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; calendar{3} : Calendars) : BOOLEAN;
- PROCEDURE LastMonthDay *{base,-678}(month{0} : SHORTINT; year{1} : LONGINT; calendar{2} : Calendars) : SHORTINT;
- PROCEDURE NextValidDate *{base,-762}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT; calendar{3} : Calendars);
- PROCEDURE PreviousValidDate *{base,-768}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT; calendar{3} : Calendars);
- PROCEDURE WWtoDM *{base,-774}(weekday{0} : Weekdays; week{1} : SHORTINT; year{2} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT; calendar{3} : Calendars);
- PROCEDURE DiffDateRange *{base,-780}(day{0}, month{1} : SHORTINT; year{2} : LONGINT; days{3}, months{4}, years{5} : LONGINT; VAR dday{8}, dmonth{9} : SHORTINT; VAR dyear{10} : LONGINT; calendar{6} : Calendars);
- PROCEDURE RangeDiff *{base,-786}(day1{0}, month1{1} : SHORTINT; year1{2} : LONGINT; day2{3}, month2{4} : SHORTINT; year2{5} : LONGINT; VAR days{8}, months{9} : SHORTINT; VAR years{10} : LONGINT; calendar{6} : Calendars);
-
-
- PROCEDURE LocalToGMT *{base,-654}(ljd{0}, lsecs{1} : LONGINT; DST{2} : BOOLEAN; zonemin{3} : SHORTINT; VAR gjd{8}, gsecs{9} : LONGINT);
- PROCEDURE GMTToLocal *{base,-660}(gjd{0}, gsecs{1} : LONGINT; zonemin{2} : SHORTINT; ChangePrevDay{3} : ChangeDay; ChangeDay{4} : ChangeDay; ChangeNextDay{5} : ChangeDay; ChangeHour{6} : SHORTINT; VAR ljd{8}, lsec{9} : LONGINT; VAR DST{10} : BOOLEAN);
-
-
- BEGIN
- base := e.OpenLibrary(dateName,dateMinVersion);
- CLOSE
- IF base # NIL THEN
- e.CloseLibrary(base);
- END;
- END Date.
-